{{tag> ocr}}

----

====== Tesseract ======

**Tesseract** est un moteur de reconnaissance optique de caractères (ROC, OCR) qui a été conçu par les ingénieurs de HP de 1984 à 1995, avant d'être abandonné. Après 10 ans de purgatoire, son code est ouvert en 2005, et le développement est repris sous la houlette de Google. Les premiers résultats sont prometteurs. Enfin un bon logiciel libre d'OCR sous linux ? L'avenir nous le dira... Il permet déjà d'obtenir une reconnaissance optique de qualité sur un certain nombre de documents (sans mise en page complexe).

Tesseract a pour vocation d'être utilisé :
  * soit directement, en ligne de commandes soit par l'intermédiaire d'une interface graphique comme gscan2pdf ou xsane (+xsane2tess), pour reconnaitre du texte avec mise en page basique ; cet usage est déjà fonctionnel.
  * soit avec des surcouches gérant les mises en page complexes, etc., comme [[:ocropus]] (encore en version beta).

Tesseract est distribué sous licence Apache, c'est-à-dire en gros qu'il est Open Source mais pas [[wpfr>Copyleft|copyleft]].

===== Installation =====
[[:tutoriel:comment_installer_un_paquet|Installez les paquets]]**[[apt://tesseract-ocr,tesseract-ocr-fra|tesseract-ocr et tesseract-ocr-fra]]** ([[:dépôts]] Universe).

Il existe d'autres fichiers de langues, comme par exemple : **tesseract-ocr-deu** (allemand), **tesseract-ocr-eng** (anglais), **tesseract-ocr-spa** (espagnol),  **tesseract-ocr-nld** (hollandais), **tesseract-ocr-ita** (italien), **tesseract-ocr-por** (portugais-brésilien),  **tesseract-ocr-deu-f** (vieil-allemand). 

Pensez toutefois à [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://imagemagick|ImageMagick]]** si vous voulez utiliser xsane2tess (utilitaire convert nécessaire).

===== Utilisation =====
==== En ligne de commande ====

Entrez la commande suivante : 
<code>tesseract ~/nomdelimage.tif nom_du_fichier_de_sortie_sans_l_extension -l fra</code>

==== Les options de langues ====
Si vous avez installé les fichiers pour la reconnaissance de texte en d'autres langues, vous ajoutez, au lieu de <code>-l fra</code>
<code>
-l eng (pour l'anglais)
-l deu (pour l'allemand)
-l spa (pour l'espagnol)
-l ita (pour l'italien)
-l nld (pour le néerlandais)
-l por (pour le portugais)
-l vie (pour le vietnamien)
-l deu-f (pour le vieil-allemand)
</code>

==== En mode graphique avec « gscan2pdf » ====
Les explications sont données sur [[:gscan2pdf|la page gscan2pdf]].


==== En mode graphique avec XSane ====
Il est possible d'utiliser tesseract avec XSane grâce à l'adaptateur [[:xsane2tess]].

<note tip>Pour réaliser de la ROC sur un document déjà numérisé, on utilise gscan2pdf. Pour réaliser de la ROC sur un document à numériser, on utilise plutôt XSane, dont la fonction de prévisualisation permet de sélectionner des zones de texte.</note>

==== Pour une reconnaissance optique directe dans LibreOffice Writer de fichiers PNG ou JPG ====

=== pour lancer l'OCR sur un document PNG (ou JPG) présent sur le bureau ===

== pour les documents PNG ==

Code:
<code>
#!/bin/bash
cd ~/Bureau
convert *.png sortie.tif ;
# il est plus prudent de corriger le bpp maximum pour le fichier tiff de sortie (max 8 pour tesseract -> depth = 4)
# soit convert -depth 4 *.png sortie.tif ;
tesseract sortie.tif sortie -l fra ;
rm sortie.tif
lowriter sortie.txt
</code>

  * Recopiez ce code dans un fichier texte que vous nommez par exemple "Tesseract-png2lofficewriter"
  * Rendez exécutable ce fichier texte (clic droit sur le fichier > propriétés > cochez "Autoriser l'exécution du fichier comme un programme")... Vous avez créé un script exécutable,
  * Placez-le dans /home/.gnome2/nautilus-scripts (ou dans tout autre dossier personnel de scripts, à votre convenance),
  * Créez un lanceur ou une entrée dans le menu comme indiqué ci-dessous.

== pour les documents JPG ==
Pour faire de même avec les fichiers images JPG (comportant du texte à reconnaître bien sûr), vous pouvez remplacer "png" par "jpg" dans le script, pour créer un autre script nommé "Tesseract-jpg2lofficewriter".

=== Créer un lanceur pour votre script ===

Pour créer un raccourci de votre script, reportez-vous à la page de création de [[:raccourci-lanceur|lanceurs]] ou à [[:unity_launcher|celle-ci]] pour Unity, puis complétez comme suit:
  * Donnez-lui un nom par exemple : "Tesseract-png2lofficewriter", ou plus court "Tesseract-PNG2LOW"
  * Pointez vers le script en question, c'est à dire le fichier texte "Tesseract-png2lofficewriter" rendu exéctuable (commande : allez chercher votre script par le bouton "parcourir"),
  * Vous pouvez utiliser cette icône {{:applications:tesseract:tesseract-ocr-png.jpg}} pour le script "Tesseract-PNG2LOW" et celle-ci {{:applications:tesseract:tesseract-ocr-jpg.jpg}} pour le script "Tesseract-JPG2LOW".
  * Vous pouvez ajouter un commentaire, mais ce n'est pas indispensable.

=== Utilisation ===
  * Enlevez du bureau les fichiers PNG sur lesquels vous ne voulez pas faire de ROC.
  * Placez sur le bureau vos fichiers numérisés au format PNG (le mieux est un PNG en valeurs de gris et 300 dpi avec Xsane, mais vous pouvez essayer avec d'autres PNG déjà numérisés),
  * Vous pouvez placer sur le bureau plusieurs fichiers PNG sur lesquels vous voulez procéder à la reconnaissance optique; mais ne dépassez pas 3-4 fichiers si vous voulez une opération relativement rapide. Les contenus des différents fichiers seront placés les uns à la suite des autres dans un même document Libreoffice.
  * Cliquez sur le raccourci précédemment créé ou directement sur le script... patientez un peu... Libreoffice s'ouvrira avec le contenue du texte tel qu'il a été reconnu
  * Il vous reste a effectuer les corrections orthographiques et la mise en page.

Même méthode pour les fichiers au format JPG, en utilisant l'outil "Tesseract-jpg2lofficewriter".

N.B. : au passage, un document sortie.tif et un document sortie.txt sont placés sur le bureau; ce sont des documents transitoires créés par le script. On peut les effacer en ayant au préalable enregistré le document texte dans un autre dossier.


=====Utilisation avancée : Amélioration de la reconnaissance =====

Si vous souhaitez améliorer la ROC vous trouverez des explications sur le [[http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract| site "tesseract-ocr" (google)]] en anglais.


===== Liens =====

  * [[http://code.google.com/p/tesseract-ocr|Site officiel]]
  * [[http://www.repairfaq.org/filipg/gnu/tesseract/html-102_03/|Documentation pour contribuer au code (en anglais)]]
  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=78804|le fil de discussion du forum]]
  * [[http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract|La page où on parle de l'apprentissage avec tesseract (anglais)]]
  * [[:ocr|La page de la documentation francophone Ubuntu sur la reconnaissance optique de caractères]]
  * [[http://ubunteros.tuxfamily.org/spip.php?article148 |Le duo scan2pdf et tesseract sur Linux on the Root (en français)]]

----

//Contributeurs : [[:utilisateurs:teolemon|Pierre S.]], [[:utilisateurs:Hector]] et [[:utilisateurs:Sorbus]].//